/* Bonus de vice dentro de la ficha del candidato: círculo VP, botón azul y lista de opciones. */

/* Círculo del vice abajo a la izquierda del retrato (foto o silueta). */
.ficha-vice { position: absolute; left: 10px; bottom: 12px; z-index: 3; width: 92px; height: 92px; border-radius: 50%; border: 5px solid #fff; background: #c5ccd3; display: grid; place-items: center; overflow: hidden; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .35); padding: 0; }
.ficha-vice i { font-size: 46px; color: #1c2733; }
.ficha-vice img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.ficha-vice span { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); background: #1c2733; color: #fff; font: 800 10px var(--titulos); letter-spacing: .1em; padding: 1px 6px; border-radius: 3px; }
.ficha-vice:hover { box-shadow: 0 0 0 3px var(--sol), 0 4px 14px rgba(0, 0, 0, .35); }

/* Botón "Bonus de vice", como el "Apply VP Bonus" de la referencia. */
.btn-vice { flex: 1; background: linear-gradient(#4c8fe0, #2463b8); border-color: #1b4f96; color: #fff; font: 700 21px var(--titulos); letter-spacing: .03em; }
.ficha-btns .btn-negro { flex: 1; }

.vice-elegido { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 13px; background: #eef4fc; border: 1px solid #c4d8f2; border-radius: 10px; padding: 6px 10px; }
.vice-elegido img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; flex: none; }

/* Lista de vices con precio */
.ficha-sub small { font: 500 13px var(--texto); text-transform: none; letter-spacing: 0; color: var(--gris); }
.vice-ops { display: grid; gap: 6px; margin-top: 10px; }
.vice-op { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 10px; padding: 6px 10px; border: 2px solid var(--borde); border-left: 5px solid var(--c1, #9aa3ad); border-radius: 10px; background: #fff; cursor: pointer; text-align: left; }
.vice-op.activo { border-color: var(--naranja); background: #fff8f1; }
.vice-op img, .vo-sin { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; }
.vo-sin { display: grid; place-items: center; background: #dfe4e9; color: #6a737c; font-size: 20px; }
.vo-nom { display: grid; min-width: 0; }
.vo-nom b { font: 700 16px var(--titulos); text-transform: uppercase; }
.vo-nom em { font-style: normal; font-size: 10.5px; font-weight: 700; color: #8a6a00; text-transform: uppercase; }
.vo-nom small { font-size: 11.5px; color: var(--gris); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vo-precio { font: 800 18px var(--titulos); background: #111316; color: #fff; padding: 3px 9px; border-radius: 6px; }

.formula-linea { text-align: center; margin: 4px 0 8px; font-size: 14px; }

@media (max-width: 600px) {
  .ficha-vice { position: static; grid-column: 1; grid-row: 5; width: 54px; height: 54px; border-width: 3px; justify-self: center; margin-top: -26px; }
  .ficha-vice i { font-size: 26px; }
  .ficha-vice span { font-size: 8px; bottom: 2px; }
  .btn-vice { font-size: 15px; padding: 9px; }
  .vice-elegido { font-size: 11px; padding: 4px 8px; margin-top: 6px; }
  .vice-elegido img { width: 26px; height: 26px; }
  .vice-ops { gap: 4px; margin-top: 6px; }
  .vice-op { grid-template-columns: 34px 1fr auto; gap: 6px; padding: 4px 6px; }
  .vice-op img, .vo-sin { width: 34px; height: 34px; }
  .vo-nom b { font-size: 13px; }
  .vo-nom small { font-size: 10px; }
  .vo-precio { font-size: 13px; padding: 2px 6px; }
  .formula-linea { font-size: 12px; }
}
