/* Yoshihiro PRO - ficha de producto. @author Adrian Kalvani */
.yoshihiropro { margin: 1rem 0; }
.yoshihiropro .yp-top-add { margin-bottom: 1rem; }
.yoshihiropro .yp-group { margin-bottom: 1rem; }
.yoshihiropro .yp-group-name { display: block; font-weight: 600; margin-bottom: .35rem; }
.yoshihiropro .yp-group-description { font-size: .9em; color: #555; margin-bottom: .35rem; }
.yoshihiropro .yp-radios {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: .5rem;
  grid-template-columns: repeat(var(--yp-per-row, 1), minmax(0, 1fr));
}
.yoshihiropro .yp-radio label { display: flex; align-items: center; gap: .4rem; cursor: pointer; margin: 0; font-weight: normal; }
.yoshihiropro .yp-swatches .yp-radio label { flex-direction: column; text-align: center; padding: .35rem; border: 2px solid transparent; border-radius: 4px; }
.yoshihiropro .yp-swatches .yp-radio input { position: absolute; opacity: 0; }
.yoshihiropro .yp-swatches .yp-radio input:checked + .yp-texture,
.yoshihiropro .yp-swatches .yp-radio input:checked + .yp-color { outline: 3px solid #24b9d7; outline-offset: 2px; }
.yoshihiropro .yp-swatches .yp-radio input:focus-visible + .yp-texture { outline: 3px dashed #24b9d7; }
.yoshihiropro .yp-texture { max-width: 100%; height: auto; object-fit: cover; }
.yoshihiropro .yp-color { display: inline-block; width: 40px; height: 40px; border: 1px solid #ccc; }
.yoshihiropro .yp-impact { font-size: .85em; color: #7a7a7a; white-space: nowrap; }
.yoshihiropro .yp-unavailable { opacity: .45; }
.yoshihiropro .yp-unavailable label { cursor: not-allowed; }
.yoshihiropro .yp-out { font-size: .8em; color: #c00; }
.yoshihiropro .yp-counter { display: block; color: #7a7a7a; }
@media (max-width: 575px) {
  .yoshihiropro .yp-radios { grid-template-columns: repeat(min(var(--yp-per-row, 1), 2), minmax(0, 1fr)); }
}
