.an-pf-field {
    padding: 5px 0px;
}

.anfield-radio-vertical-text .label-price, .anfield-checkbox-vertical-text .label-price {
    font-size: 12px;
}

.anfield-radio-vertical-text .title, .anfield-checkbox-vertical-text .title {
    line-height: 1em;
}

.anfield-radio-vertical :checked + .anfield-radio-vertical-inner, .anfield-checkbox-vertical :checked + .anfield-checkbox-vertical-inner {
    border-color: #333;
}

/*--Selectores Avanto Product--*/
/*--Selectores Avanto Product (versión genérica: 1er campo 100%, resto en pares)--*/

.js-an-pf-fields-wrap > .col-sm-12 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
}

/* Por defecto, cualquier campo ocupa el 100% (cubre tipos distintos a select/text) */
.js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field {
  flex: 1 1 100%;
  box-sizing: border-box;
}

/* Select y text pasan a doble columna (excepto el primero, que se sobrescribe abajo) */
.js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field.an-pf-field-type-select,
.js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field.an-pf-field-type-text {
  flex: 1 1 calc(50% - 8px);
  min-width: 200px;
}

/* El PRIMER campo SIEMPRE ancho completo, sin importar tipo */
.js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field:first-child {
  flex: 1 1 100% !important;
}

/* El ÚLTIMO campo va a 100% SOLO si su posición es PAR
   (es decir, si quedó huérfano al armar las parejas desde la posición 2) */
.js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field:last-child:nth-child(even) {
  flex: 1 1 100% !important;
}

/* Responsive: en móvil todo a una columna */
@media (max-width: 576px) {
  .js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field.an-pf-field-type-select,
  .js-an-pf-fields-wrap > .col-sm-12 > .js-anpf-field.an-pf-field-type-text {
    flex: 1 1 100%;
  }
}
/*--Selectores Avanto Product--*/