/* ===== NV Variation Radios (Flex Layout) ===== */
.variations .label label {
    font-size: 1rem;
}
.reset_variations {
    display: none !important;
}
.woocommerce-variation.single_variation {
    display: none;
}
td.value
 {
    padding: 0px;
}
table.variations {
    margin-bottom: 0px;
}
.nvvr-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem; /* spacing between options */
  margin: 1rem 0;
}

/* Each radio option */
.nvvr-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  cursor: pointer;
  border: 1px solid #e3e3e3;
  border-radius: 0.5rem;
  padding: 0.75rem 1.25rem;
  min-width: 110px;
  transition: all 0.2s ease-in-out;
  background-color: #fff;
}

/* Hover & selected styles */
.nvvr-option:hover {
  border-color: #bbb;
}
.nvvr-option.is-selected {
  border-color: var(--nvvr-accent, #333);
  background-color: #fafafa;
  box-shadow: 0 0 0 2px var(--nvvr-accent, #333) inset;
}

/* Disabled state */
.nvvr-option.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Radio input (keep native) */
.nvvr-radio {
  margin-bottom: 0.5rem;
  accent-color: var(--nvvr-accent, #333);
  width: 18px;
  height: 18px;
}

/* Text stack */
.nvvr-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
  gap: 0.25rem;
}

/* Term name (e.g., "Standard") */
.nvvr-name {
  font-weight: 600;
  color: #222;
}

/* Price (below name) */
.nvvr-price {
  font-size: 0.9rem;
  color: #555;
}

/* Responsive tweaks */
@media (max-width: 480px) {
  .nvvr-group {
    flex-direction: column;
    gap: 0.75rem;
  }
  .nvvr-option {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    padding: 0.75rem 1rem;
  }
  .nvvr-radio {
    margin-right: 0.75rem;
    margin-bottom: 0;
  }
  .nvvr-text {
    align-items: flex-start;
  }
}
/* Force variation rows to stack label above options */
table.variations tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem; /* spacing between label and radios */
}

/* Label above (th) */
table.variations th {
  order: 1;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  font-size: .85rem;
  margin-bottom: .25rem;
}

/* Options below (td) */
table.variations td {
  order: 2;
  width: 100%;
}

/* Optional cleanup */
table.variations {
  border-collapse: separate;
  border-spacing: 0 1rem; /* space between rows */
  width: 100%;
}
