.ll-vs-native-select select{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ll-vs-wrap{margin:10px 0 16px}.ll-vs-colour-list{display:flex;flex-wrap:wrap;gap:10px}.ll-vs-colour{width:42px;height:42px;border-radius:999px;border:1px solid rgba(212,175,55,.35);background:linear-gradient(180deg,#171c28,#080b12);display:inline-flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:.18s ease;position:relative}.ll-vs-colour span{display:block;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.35)}.ll-vs-colour em{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);font-style:normal;font-size:11px;line-height:1;color:#f3f3f3;background:#080b12;border:1px solid rgba(212,175,55,.25);border-radius:999px;padding:3px 7px;white-space:nowrap;opacity:0;pointer-events:none;transition:.18s ease}.ll-vs-colour:hover,.ll-vs-colour.is-selected{border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,.22),0 0 22px rgba(138,255,0,.18),0 14px 30px rgba(0,0,0,.35);transform:translateY(-1px)}.ll-vs-colour:hover em{opacity:1}.ll-vs-bundle-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.ll-vs-bundle{border:1px solid rgba(212,175,55,.28);border-radius:16px;background:radial-gradient(circle at top left,rgba(138,255,0,.08),transparent 35%),linear-gradient(180deg,#171c28,#080b12);color:#f3f3f3;text-align:left;padding:14px 15px;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,.28);transition:.18s ease}.ll-vs-bundle strong{display:block;font-size:15px;color:#fff;margin-bottom:5px}.ll-vs-bundle small{display:block;color:#b8bcc8;line-height:1.35}.ll-vs-bundle:hover,.ll-vs-bundle.is-selected{border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,.2),0 0 24px rgba(138,255,0,.14),0 16px 34px rgba(0,0,0,.34);transform:translateY(-1px)}
.ll-vs-colour.is-disabled,.ll-vs-bundle.is-disabled{opacity:.38!important;filter:grayscale(1);cursor:not-allowed!important;box-shadow:none!important;transform:none!important;position:relative}.ll-vs-colour.is-disabled:after{content:"";position:absolute;width:34px;height:2px;background:rgba(255,255,255,.75);transform:rotate(-35deg);border-radius:999px}.ll-vs-bundle.is-disabled:after{content:"Out of stock";display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#cfd3dc;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}

/* v9.3 single product revamp + forced swatches */
  max-width:1180px;margin:0 auto;padding:18px clamp(14px,3vw,28px) 48px;
}
  display:grid!important;grid-template-columns:minmax(300px,.95fr) minmax(320px,1.05fr);gap:clamp(18px,3vw,34px);align-items:start;
}
  background:radial-gradient(circle at top left,rgba(138,255,0,.06),transparent 38%),linear-gradient(180deg,rgba(23,28,40,.98),rgba(8,11,18,.98));
  border:1px solid rgba(212,175,55,.24);border-radius:28px;box-shadow:0 20px 55px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04);padding:clamp(18px,3vw,30px);
}
  width:100%;background:rgba(18,23,34,.82);border:1px solid rgba(212,175,55,.22);border-radius:26px;padding:clamp(16px,3vw,26px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.ll-vs-native-select{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.ll-vs-forced-panel{margin:0 0 18px;padding:18px;border:1px solid rgba(212,175,55,.24);border-radius:22px;background:radial-gradient(circle at top right,rgba(138,255,0,.08),transparent 32%),rgba(8,11,18,.72)}
.ll-vs-forced-heading strong{display:block;color:#fff;font-size:20px;line-height:1.15;margin-bottom:4px}
.ll-vs-forced-heading small{display:block;color:#b8bcc8;line-height:1.45;margin-bottom:15px}
.ll-vs-forced-label{color:#d4af37;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;margin:0 0 10px}
.ll-vs-forced-group{margin:0 0 18px}
.ll-vs-selected-status{margin-top:8px;color:#b8ffc9;background:rgba(138,255,0,.08);border:1px solid rgba(138,255,0,.18);border-radius:999px;padding:9px 12px;font-weight:800;font-size:13px}
.ll-vs-colour.is-selected:before{content:"✓";position:absolute;right:-3px;top:-5px;width:18px;height:18px;border-radius:999px;background:#8aff00;color:#071005;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 14px rgba(138,255,0,.55)}
.ll-vs-bundle.is-selected:before{content:"Selected";display:inline-flex;margin-bottom:8px;color:#8aff00;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.ll-vs-colour.is-disabled em{opacity:1;background:#2a2d34;color:#cfd3dc}


/* =========================================================
   LL V10.4 CLEAN PRODUCT SWATCH OVERRIDE
   Keeps the working V10.1 engine, only improves the UI.
========================================================= */
.single-product .variations_form table.variations,
.single-product .variations_form table.variations tbody,
.single-product .variations_form table.variations tr,
.single-product .variations_form table.variations td,
.single-product .variations_form table.variations th {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

.single-product .ll-vs-native-select {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.single-product .ll-vs-wrap {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 20px !important;
    padding: 16px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(212, 175, 55, 0.26) !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(138, 255, 0, 0.08), transparent 32%),
        linear-gradient(145deg, rgba(18, 23, 34, 0.94), rgba(8, 11, 18, 0.96)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 16px 36px rgba(0, 0, 0, 0.28) !important;
    overflow: hidden !important;
}

.single-product .ll-vs-wrap::before {
    content: attr(data-attribute);
    display: block !important;
    margin: 0 0 12px !important;
    color: #d4af37 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

.single-product .ll-vs-selected-status {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    margin: 0 0 14px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(138, 255, 0, 0.24) !important;
    background: rgba(138, 255, 0, 0.08) !important;
    color: #caffbd !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    box-shadow: none !important;
}

/* Horizontal scrolling colour rail */
.single-product .ll-vs-colour-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 4px 12px !important;
    margin: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scroll-snap-type: x proximity !important;
}

.single-product .ll-vs-colour-list::-webkit-scrollbar {
    height: 6px !important;
}
.single-product .ll-vs-colour-list::-webkit-scrollbar-thumb {
    background: rgba(212, 175, 55, 0.45) !important;
    border-radius: 999px !important;
}

.single-product .ll-vs-colour {
    flex: 0 0 auto !important;
    width: 70px !important;
    height: 76px !important;
    min-width: 70px !important;
    min-height: 76px !important;
    padding: 8px 6px !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(212, 175, 55, 0.28) !important;
    background:
        linear-gradient(180deg, rgba(23, 28, 40, 0.94), rgba(8, 11, 18, 0.98)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 10px 22px rgba(0, 0, 0, 0.30) !important;
    cursor: pointer !important;
    transform: none !important;
    scroll-snap-align: start !important;
    position: relative !important;
}

.single-product .ll-vs-colour span {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: block !important;
    border-radius: 999px !important;
    border: 2px solid rgba(255, 255, 255, 0.34) !important;
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, 0.18),
        0 8px 18px rgba(0, 0, 0, 0.34) !important;
}

.single-product .ll-vs-colour em {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: none !important;
    display: block !important;
    max-width: 62px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #dfe3ed !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-style: normal !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.single-product .ll-vs-colour:hover,
.single-product .ll-vs-colour.is-selected {
    border-color: #d4af37 !important;
    background:
        radial-gradient(circle at top, rgba(138, 255, 0, 0.10), transparent 55%),
        linear-gradient(180deg, rgba(23, 28, 40, 0.98), rgba(8, 11, 18, 1)) !important;
    box-shadow:
        0 0 0 2px rgba(212, 175, 55, 0.18),
        0 0 22px rgba(138, 255, 0, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.38) !important;
}

.single-product .ll-vs-colour.is-selected::before {
    content: "✓" !important;
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: #8aff00 !important;
    color: #071005 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 0 14px rgba(138, 255, 0, 0.55) !important;
    z-index: 2 !important;
}

.single-product .ll-vs-colour.is-disabled {
    opacity: 0.38 !important;
    filter: grayscale(1) !important;
    cursor: not-allowed !important;
}
.single-product .ll-vs-colour.is-disabled::after {
    content: "" !important;
    position: absolute !important;
    top: 34px !important;
    left: 18px !important;
    width: 34px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    transform: rotate(-35deg) !important;
    z-index: 2 !important;
}

/* Bundle / condition options become compact horizontal cards */
.single-product .ll-vs-bundle-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 4px 12px !important;
    margin: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
}

.single-product .ll-vs-bundle {
    flex: 0 0 min(220px, 78vw) !important;
    min-height: 76px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(212, 175, 55, 0.28) !important;
    background: linear-gradient(180deg, rgba(23, 28, 40, 0.94), rgba(8, 11, 18, 0.98)) !important;
    color: #f3f3f3 !important;
    text-align: left !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.30) !important;
    scroll-snap-align: start !important;
}

.single-product .ll-vs-bundle strong {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    margin: 0 0 5px !important;
}
.single-product .ll-vs-bundle small {
    color: #b8bcc8 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}
.single-product .ll-vs-bundle.is-selected {
    border-color: #8aff00 !important;
    box-shadow:
        0 0 0 2px rgba(138, 255, 0, 0.14),
        0 0 22px rgba(138, 255, 0, 0.18) !important;
}
.single-product .ll-vs-bundle.is-disabled {
    opacity: 0.45 !important;
    filter: grayscale(1) !important;
}

.single-product .reset_variations {
    display: inline-flex !important;
    margin: 8px 0 0 !important;
    color: #e6c96a !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

@media (max-width: 640px) {
    .single-product .ll-vs-wrap {
        padding: 14px !important;
        border-radius: 20px !important;
    }
    .single-product .ll-vs-selected-status {
        width: auto !important;
        max-width: 100% !important;
        font-size: 12px !important;
    }
    .single-product .ll-vs-colour {
        width: 66px !important;
        min-width: 66px !important;
        height: 74px !important;
    }
}

/* =========================================================
   V10.5 — polished customer selector + visible scroll hint
   Keeps V10.1/V10.3 working variation engine intact.
========================================================= */
.single-product .variations_form table.variations .label,
.single-product .variations_form table.variations label[for^="pa_ll_"]{
  display:none!important;
}
.single-product .ll-vs-wrap{
  position:relative!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:16px!important;
  border:1px solid rgba(212,175,55,.24)!important;
  border-radius:22px!important;
  background:radial-gradient(circle at top right,rgba(138,255,0,.07),transparent 34%),linear-gradient(180deg,rgba(20,25,36,.96),rgba(8,11,18,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
.single-product .ll-vs-header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 12px!important;
}
.single-product .ll-vs-header strong{
  display:block!important;
  color:#d4af37!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
  line-height:1.2!important;
}
.single-product .ll-vs-header small{
  display:block!important;
  color:#aeb6c8!important;
  font-size:13px!important;
  line-height:1.35!important;
  margin-top:5px!important;
}
.single-product .ll-vs-scroll-cue{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  color:#b8ffd7!important;
  background:rgba(138,255,0,.09)!important;
  border:1px solid rgba(138,255,0,.22)!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.single-product .ll-vs-selected-status{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 0 13px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:rgba(138,255,0,.08)!important;
  border:1px solid rgba(138,255,0,.20)!important;
  color:#b8ffd7!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.3!important;
}
.single-product .ll-vs-colour-list{
  position:relative!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 36px 12px 2px!important;
  margin:0!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
}
.single-product .ll-vs-wrap-colour:after{
  content:""!important;
  position:absolute!important;
  right:0!important;
  bottom:15px!important;
  width:54px!important;
  height:78px!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(8,11,18,0),rgba(8,11,18,.96) 72%)!important;
}
.single-product .ll-vs-colour{
  flex:0 0 auto!important;
  scroll-snap-align:start!important;
  width:62px!important;
  height:72px!important;
  border-radius:20px!important;
  border:1px solid rgba(212,175,55,.27)!important;
  background:linear-gradient(180deg,rgba(23,28,40,.98),rgba(7,10,17,.98))!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 7px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.30)!important;
}
.single-product .ll-vs-colour span{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border-radius:999px!important;
  border:2px solid rgba(255,255,255,.36)!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.32)!important;
}
.single-product .ll-vs-colour em{
  position:static!important;
  transform:none!important;
  opacity:1!important;
  display:block!important;
  max-width:54px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#dce3f2!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.single-product .ll-vs-colour:hover,
.single-product .ll-vs-colour.is-selected{
  border-color:#d4af37!important;
  transform:translateY(-1px)!important;
  box-shadow:0 0 0 2px rgba(212,175,55,.17),0 0 22px rgba(138,255,0,.16),0 13px 28px rgba(0,0,0,.36)!important;
}
.single-product .ll-vs-colour.is-selected:before{
  right:5px!important;
  top:5px!important;
}
.single-product .ll-vs-colour.is-disabled{
  opacity:.38!important;
  filter:grayscale(1)!important;
}
.single-product .ll-vs-colour.is-disabled:after{
  width:36px!important;
  top:26px!important;
}
.single-product .ll-vs-bundle-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
}
.single-product .ll-vs-bundle{
  min-height:74px!important;
  border-radius:18px!important;
}
@media(max-width:640px){
  .single-product .ll-vs-wrap{padding:14px!important;border-radius:20px!important}
  .single-product .ll-vs-header{display:block!important}
  .single-product .ll-vs-scroll-cue{margin-top:9px!important}
  .single-product .ll-vs-colour{width:60px!important;height:70px!important}
  .single-product .ll-vs-colour-list{padding-right:42px!important}
}


@media (max-width:640px){
  .ll-vs-colour-list{gap:12px}
  .ll-vs-colour{width:48px;height:48px}
  .ll-vs-colour span{width:31px;height:31px}
  .ll-vs-bundle-list{grid-template-columns:1fr}
}
