/*
 * CELLO Product Family V1.4.2 — Hybrid Product / SKU Group + Original Ordering / Cross-size Dimming
 * Scoped storefront layer. Product/SKU routing logic remains unchanged.
 * Visual language follows Cello Product UI tokens and option controls.
 */
.cello-product-ui .cello-vf-store,
.product-detail .cello-vf-store{
  --vf-accent:var(--pui-accent,var(--cp-orange,#ff6500));
  --vf-accent-soft:var(--pui-accent-soft,var(--cp-orange-soft,#fff5ee));
  --vf-text:var(--pui-text,var(--cp-text,#262626));
  --vf-muted:var(--pui-muted,var(--cp-muted,#737373));
  --vf-border:var(--pui-border,var(--cp-border,#e5e7ea));
  margin:14px 0 4px;
  padding:14px 0 2px;
  border:0;
  border-top:1px solid var(--vf-border);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.cello-vf-store__product-levels:empty,
.cello-vf-store__sku-levels:empty{display:none}

.cello-vf-store__sku-levels:not(:empty){
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--vf-border);
}

.cello-vf-level{margin:0 0 12px}
.cello-vf-level:last-child{margin-bottom:8px}

.cello-vf-level__label{
  margin:0 0 8px;
  color:var(--vf-text);
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:0;
}

.cello-vf-choices{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.cello-vf-choice{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0;
  padding:9px 14px;
  border:1px solid var(--vf-border);
  border-radius:999px;
  background:#fff;
  color:#3a3f43;
  box-shadow:none;
  font-family:inherit;
  font-size:13px;
  line-height:1.25;
  font-weight:650;
  text-decoration:none!important;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.cello-vf-choice:hover{
  border-color:var(--vf-accent);
  background:#fff;
  color:var(--vf-accent);
  text-decoration:none!important;
  transform:translateY(-1px);
}

.cello-vf-choice:focus,
.cello-vf-choice:focus-visible{
  border-color:var(--vf-accent);
  outline:0;
  box-shadow:0 0 0 3px rgba(255,101,0,.13);
  color:var(--vf-text);
  text-decoration:none!important;
}

.cello-vf-choice.is-active{
  border-color:var(--vf-accent);
  background:var(--vf-accent-soft);
  color:var(--vf-text);
  box-shadow:0 0 0 1px rgba(255,101,0,.06);
  font-weight:750;
}

.cello-vf-choice.is-active::before{
  content:'';
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--vf-accent);
}

.cello-vf-choice.is-disabled,
.cello-vf-choice[disabled]{
  opacity:.42;
  pointer-events:none;
  cursor:not-allowed;
}

.cello-vf-store__hint{
  margin-top:5px;
  color:var(--vf-muted);
  font-size:12px;
  line-height:1.45;
}

@media (max-width:767px){
  .cello-product-ui .cello-vf-store,
  .product-detail .cello-vf-store{
    margin-top:12px;
    padding-top:12px;
  }
  .cello-vf-level{margin-bottom:11px}
  .cello-vf-level__label{margin-bottom:7px;font-size:13px}
  .cello-vf-choices{
    flex-wrap:nowrap;
    gap:7px;
    margin-right:-2px;
    padding:1px 2px 4px 0;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .cello-vf-choices::-webkit-scrollbar{display:none}
  .cello-vf-choice{
    min-height:38px;
    flex:0 0 auto;
    padding:8px 12px;
    font-size:12.5px;
  }
}

/* V1.4.2 — preserve the native option grid/order.
 * Current-size SKU cards stay fully prominent; other-size cards are muted but remain clickable.
 * No divider, no DOM reordering, no separate "other size" section.
 */
#variant-list > li.cello-vf-option-hidden{display:block!important}
.product-detail #variant-list > li.cello-vf-option-current{
  opacity:1;
  filter:none;
  transition:opacity .18s ease,filter .18s ease,transform .18s ease;
}
.product-detail #variant-list > li.cello-vf-option-other{
  opacity:.48;
  filter:saturate(.55) grayscale(.12);
  transition:opacity .18s ease,filter .18s ease,transform .18s ease;
}
.product-detail #variant-list > li.cello-vf-option-other:hover,
.product-detail #variant-list > li.cello-vf-option-other:focus-within{
  opacity:.82;
  filter:saturate(.82) grayscale(0);
}
.product-detail #variant-list > li.cello-vf-option-other .radio{
  border-color:#e4e6e8;
  background:#fbfbfb;
}
.product-detail #variant-list > li.cello-vf-option-other .radio:hover{
  border-color:#cfd3d7;
  background:#fff;
}
@media (max-width:480px){
  .product-detail #variant-list > li.cello-vf-option-other{opacity:.52}
}
